package com.ruoyi.monitor.mapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.ruoyi.monitor.domain.BusWaterIntegrationmonitordataYear;
import org.apache.ibatis.annotations.Param;

/**
 * 手工监测数据（年）Mapper接口
 * 
 * @author maliang
 * @date 2025-08-16
 */
public interface BusWaterIntegrationmonitordataYearMapper 
{
    /**
     * 查询手工监测数据（年）
     * 
     * @param reportid 手工监测数据（年）主键
     * @return 手工监测数据（年）
     */
    public BusWaterIntegrationmonitordataYear selectBusWaterIntegrationmonitordataYearByReportid(String reportid);

    /**
     * 查询手工监测数据（年）列表
     * 
     * @param busWaterIntegrationmonitordataYear 手工监测数据（年）
     * @return 手工监测数据（年）集合
     */
    public List<BusWaterIntegrationmonitordataYear> selectBusWaterIntegrationmonitordataYearList(BusWaterIntegrationmonitordataYear busWaterIntegrationmonitordataYear);

    /**
     * 新增手工监测数据（年）
     * 
     * @param busWaterIntegrationmonitordataYear 手工监测数据（年）
     * @return 结果
     */
    public int insertBusWaterIntegrationmonitordataYear(BusWaterIntegrationmonitordataYear busWaterIntegrationmonitordataYear);

    /**
     * 修改手工监测数据（年）
     * 
     * @param busWaterIntegrationmonitordataYear 手工监测数据（年）
     * @return 结果
     */
    public int updateBusWaterIntegrationmonitordataYear(BusWaterIntegrationmonitordataYear busWaterIntegrationmonitordataYear);

    /**
     * 删除手工监测数据（年）
     * 
     * @param reportid 手工监测数据（年）主键
     * @return 结果
     */
    public int deleteBusWaterIntegrationmonitordataYearByReportid(String reportid);

    /**
     * 批量删除手工监测数据（年）
     * 
     * @param reportids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBusWaterIntegrationmonitordataYearByReportids(String[] reportids);

    List<Map> cbItemList(@Param("idList") List<String> idList, @Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("controlLevelCodeList") List<String> controlLevelCodeList);

    List<Map> excellentThree(@Param("idList") List<String> idList,@Param("startTime") Date startTime,@Param("endTime") Date endTime,@Param("controlLevelCodeList") List<String> controlLevelCodeList);

    List<Map> inferiorFive(@Param("idList") List<String> idList,@Param("startTime") Date startTime,@Param("endTime") Date endTime,@Param("controlLevelCodeList") List<String> controlLevelCodeList);
}
